1. Field of the Invention
The present invention relates to a compatibility evaluation apparatus, a compatibility evaluation method, and a recording medium, and more particularly to a compatibility evaluation apparatus, a compatibility evaluation method, and a recording medium for evaluating an application in terms of incompatibility with a platform.
2. Description of the Related Art
Conventionally, an image forming apparatus, which is typically referred to as a multifunction peripheral, has a platform program (hereinafter, also simply referred to as a “program”) for operating an application program (hereinafter, also simply referred to as an “application”). The platform may provide an API (Application Program Interface) that is made available to the public (see, for example, Japanese Laid-Open Patent Application No. 2005-269619). For such an image forming apparatus, an external software vendor other than the manufacturer of the image forming apparatus may develop a new application.
The cycle of releasing such a platform is becoming shorter; for example, an upgraded version is released every six months. Every time an upgraded version is released, the above-described API is added. Thus, there may be an incompatibility between different APIs, e.g., the API on the platform of an old version and the API on the platform of a new version.
A common API may be used for different machine types of image forming apparatuses. However, the behaviors of the APIs used in the different machine types may not be completely the same if the different machine types have different hardware resources. Thus, there may be an incompatibility among different machine types in terms of the behaviors of the APIs.
When there is such an incompatibility between APIs, the developer of an application may not be able to guarantee the operations of the application for all versions of the platform and all of the different machine types. Furthermore, when there are multiple platforms, a significant burden may be inflicted on the platform provider.
Specifically, when there are multiple platforms, it is a tremendous burden on an application developer to evaluate (test) the operation of the application on all of the multiple platforms including combinations of platform versions and different machine types.
Furthermore, when an unexpected operation is executed in the process of evaluating the application, the application developer may need to contact the platform provider. In the market, there are a vast variety of applications and multiple platforms. Therefore, the platform provider may be contacted by a large number of application developers, which may lead to a tremendous burden on the platform provider.
One approach is to evaluate an application in terms of incompatibility with a platform with the use of the technology described in Japanese Patent Application Publication No. 2001-518658.
However, with the technology described in Japanese Patent Application Publication No. 2001-518658, it is necessary to describe definition information in a predetermined definition language for all interfaces made available to the public by the platform provider. Given that platforms are upgraded frequently as described above, it is a tremendous burden on the platform provider to describe the definition information of all interfaces.